package com.aqie.medium.tree;

import com.aqie.easy.structure.TreeNode;

/**
 * 814 二叉树剪枝
 * 返回移除了所有不包含 1 的子树的原二叉树
 */
public class PruneTree {
    /**
     * 从底向上后续遍历，如果当前元素为0且左右子树为null，则删除节点, 左 右 根
     * @param root
     * @return
     */
    public TreeNode pruneTree(TreeNode root) {
        if (root == null) return null;
        root.left = pruneTree(root.left);
        root.right = pruneTree(root.right);
        if (root.val == 0 && root.left == null && root.right == null) return null;
        return root;
    }
}
